lua-openssl: upgrade to version 0.7.1
authorEneas U de Queiroz <[email protected]>
Mon, 21 May 2018 17:51:40 +0000 (14:51 -0300)
committerEneas U de Queiroz <[email protected]>
Mon, 21 May 2018 17:51:40 +0000 (14:51 -0300)
This version brings compatibility with openssl 1.1.0

Signed-off-by: Eneas U de Queiroz <[email protected]>
lang/lua-openssl/Makefile
lang/lua-openssl/patches/0001-Revise-Makefile.patch
lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch [deleted file]
lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch [new file with mode: 0644]
lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch [deleted file]

index fc0629cf3f0719f967e84c79f6ffb85b03048f51..3eec6b1b1c5cc311e2de0fa1c191e87a75abdc04 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lua-openssl
-PKG_VERSION:=0.6.0
+PKG_VERSION:=0.7.1
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Amnon Paz <[email protected]>
 PKG_LICENSE:=MIT
@@ -17,7 +17,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_MIRROR_HASH:=33de8fa469f66bbf6df09c4ba4e3386c0613cc061f5adff0928d532af6905773
 PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=1b950e6ff8617205cda1a1b612637ef21b9daf96
+PKG_SOURCE_VERSION:=b104bbe914d279276560f188854036075b99f724
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
index e084c0bb214f0cf449ca389df64a9159f6b29e7f..1a1ef9d038830dafcc8ada04ddceac3157f844be 100644 (file)
@@ -1,13 +1,13 @@
-diff --git a/Makefile b/Makefile
-index 6cb1176..6605879 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -1,85 +1,45 @@
--T=openssl\r
--\r
+@@ -1,58 +1,36 @@
+ T=openssl\r
++.PHONY: install clean\r
\r
 -PREFIX                ?=/usr/local\r
 -LIB_OPTION    ?= -shared \r
--\r
++PKGC ?= pkg-config\r
\r
 -#Lua auto detect\r
 -LUA_VERSION ?= $(shell pkg-config luajit --print-provides)\r
 -ifeq ($(LUA_VERSION),)                         ############ Not use luajit\r
@@ -21,10 +21,15 @@ index 6cb1176..6605879 100644
 -LUA_LIBS      ?= $(shell pkg-config luajit --libs)\r
 -LUA_LIBDIR    ?= $(PREFIX)/lib/lua/$(LUAV)\r
 -endif\r
--\r
++LIB_OPTION    = -shared \r
\r
 -#OS auto detect\r
 -SYS := $(shell gcc -dumpmachine)\r
--\r
++# lua's package config can be under various names\r
++LUAPKGC := $(shell for pc in lua lua5.1 lua5.2 lua5.3; do \\r
++              $(PKGC) --exists $$pc && echo $$pc && break; \\r
++      done)\r
\r
 -ifneq (, $(findstring linux, $(SYS)))\r
 -# Do linux things\r
 -LDFLAGS                   = -fPIC -lrt -ldl\r
@@ -35,8 +40,19 @@ index 6cb1176..6605879 100644
 -ifneq (, $(findstring apple, $(SYS)))\r
 -# Do darwin things\r
 -LDFLAGS                   = -fPIC -lrt -ldl\r
--OPENSSL_LIBS  ?= $(shell pkg-config openssl --libs) \r
--OPENSSL_CFLAGS        ?= $(shell pkg-config openssl --cflags)\r
++BUILD_DIR = $(shell pwd)\r
++\r
++# LUA include/libraries build flags\r
++#LUAV         ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)")\r
++LUA_LIBDIR := $(shell $(PKGC) --variable=libdir $(LUAPKGC))\r
++LUA_CFLAGS := $(shell $(PKGC) --cflags $(LUAPKGC))\r
++LUA_LIBS := $(shell $(PKGC) --libs-only-L $(LUAPKGC))\r
++#LUA_LIBDIR   ?= $(PREFIX)/lib/lua/$(LUAV)\r
++\r
++# openssl include/libraries build flags\r
++LDFLAGS                  += -lrt -ldl $(OPENSSL_LIBS) $(LUA_LIBS)\r
+ OPENSSL_LIBS  ?= $(shell pkg-config openssl --libs) \r
+ OPENSSL_CFLAGS        ?= $(shell pkg-config openssl --cflags)\r
 -CFLAGS                    = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)\r
 -endif\r
 -ifneq (, $(findstring mingw, $(SYS)))\r
@@ -53,83 +69,30 @@ index 6cb1176..6605879 100644
 -CFLAGS                = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS)\r
 -endif\r
 -#custome config\r
--ifeq (.config, $(wildcard .config))\r
--include .config\r
--endif\r
--\r
++# openssl include/libraries build flags\r
++LOCAL_INCLUDE = -I$(BUILD_DIR)/deps\r
++CFLAGS                   += -fPIC -DPTHREADS $(LOCAL_INCLUDE) $(OPENSSL_CFLAGS) $(LUA_CFLAGS) \r
+ ifeq (.config, $(wildcard .config))\r
+ include .config\r
+ endif\r
\r
 -LIBNAME= $T.so.$V\r
--\r
--#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X\r
--\r
--# Compilation directives\r
--WARN_MOST     = -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic\r
--WARN          = -Wall -Wno-unused-value\r
--WARN_MIN      = \r
--CFLAGS                += $(WARN_MIN) -DPTHREADS \r
--CC= gcc -g $(CFLAGS) -Ideps\r
--\r
--\r
--OBJS=src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \\r
--src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o    \\r
--src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o \r
--\r
++LIBNAME= $T.so\r
\r
+ #LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X\r
\r
+@@ -68,11 +46,12 @@ OBJS=src/asn1.o src/auxiliar.o src/bio.o
+ src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o    \\r
+ src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o \r
\r
 -.c.o:\r
 -      $(CC) -c -o $@ $?\r
--\r
--all: $T.so\r
--      echo $(SYS)\r
--\r
--$T.so: $(OBJS)\r
--      MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(OPENSSL_LIBS) $(LUA_LIBS) $(LDFLAGS)\r
--\r
--install: all\r
--      mkdir -p $(LUA_LIBDIR)\r
--      cp $T.so $(LUA_LIBDIR)\r
--\r
--clean:\r
--      rm -f $T.so $(OBJS) \r
-+.PHONY: install clean
-+
-+PKGC ?= pkg-config
-+
-+LIBNAME = openssl.so
-+LIB_OPTION = -shared
-+
-+# lua's package config can be under various names
-+LUAPKGC := $(shell for pc in lua lua5.1 lua5.2 lua5.3; do \
-+              $(PKGC) --exists $$pc && echo $$pc && break; \
-+      done)
-+
-+BUILD_DIR = $(shell pwd)
-+
-+# LUA include/libraries build flags
-+LUA_LIBDIR := $(shell $(PKGC) --variable=libdir $(LUAPKGC))
-+LUA_CFLAGS := $(shell $(PKGC) --cflags $(LUAPKGC))
-+LUA_LIBS := $(shell $(PKGC) --libs-only-L $(LUAPKGC))
-+
-+# openssl include/libraries build flags
-+OPENSSL_LIBS  = $(shell $(PKGC) openssl --libs)
-+OPENSSL_CFLAGS        = $(shell $(PKGC) openssl --cflags)
-+
-+# openssl include/libraries build flags
-+LOCAL_INCLUDE = -I$(BUILD_DIR)/deps
-+
-+CFLAGS        += -fPIC -DPTHREADS -g $(LOCAL_INCLUDE) $(OPENSSL_CFLAGS) $(LUA_CFLAGS)
-+LDFLAGS += -lrt -ldl $(OPENSSL_LIBS) $(LUA_LIBS)
-+
-+OBJS = src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o src/ec.o src/engine.o src/hmac.o src/lbn.o src/lhash.o src/misc.o src/ocsp.o src/openssl.o src/ots.o src/pkcs12.o src/pkcs7.o src/pkey.o src/rsa.o src/ssl.o src/th-lock.o src/util.o src/x509.o src/xattrs.o src/xexts.o src/xname.o src/xstore.o src/xalgor.o src/callback.o
-+
-+all: clean $(LIBNAME)
-+
-+$(LIBNAME): $(OBJS)
-+      $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@
-+
-+%.o: %.c
-+      $(CC) $(CFLAGS) -c $< -o $@
-+
-+install: all
-+      mkdir -p $(LUA_LIBDIR)
-+      cp $(LIBNAME) $(LUA_LIBDIR)
-+
-+clean:
-+      rm -f $(LIBNAME) $(OBJS)
++%.o: %.c\r
++      $(CC) $(CFLAGS) -c $< -o $@\r
\r
+ all: $T.so\r
+       echo $(SYS)\r
++      $(CC) $(LDFLAGS) $(LIB_OPTION) $(OBJS) -o $@\r
\r
+ $T.so: $(OBJS)\r
+       MACOSX_DEPLOYMENT_TARGET="10.3"; export MACOSX_DEPLOYMENT_TARGET; $(CC) $(CFLAGS) $(LIB_OPTION) -o $T.so $(OBJS) $(OPENSSL_LIBS) $(LUA_LIBS) $(LDFLAGS)\r
diff --git a/lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch b/lang/lua-openssl/patches/0020-support-OPENSSL_NO_SSL3_METHOD.patch
deleted file mode 100644 (file)
index 2f29680..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
---- lua-openssl-0.6.0.old/src/ssl.c    2016-09-19 08:30:43.735075695 +0200
-+++ lua-openssl-0.6.0/src/ssl.c        2016-09-19 09:02:45.733813437 +0200
-@@ -24,12 +24,17 @@
-   SSL_METHOD* method = NULL;
-   const char* ciphers;
-   SSL_CTX* ctx;
--  if (strcmp(meth, "SSLv3") == 0)
-+  if (0);
-+
-+#ifndef OPENSSL_NO_SSL3
-+  else if (strcmp(meth, "SSLv3") == 0)
-     method = SSLv3_method();    /* SSLv3 */
-   else if (strcmp(meth, "SSLv3_server") == 0)
-     method = SSLv3_server_method(); /* SSLv3 */
-   else if (strcmp(meth, "SSLv3_client") == 0)
-     method = SSLv3_client_method(); /* SSLv3 */
-+#endif
-+
-   else if (strcmp(meth, "SSLv23") == 0)
-     method = SSLv23_method();   /* SSLv3 but can rollback to v2 */
-   else if (strcmp(meth, "SSLv23_server") == 0)
-@@ -79,15 +84,15 @@
- #endif
-   else
-     luaL_error(L, "#1:%s not supported\n"
--               "Maybe SSLv3 SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n",
--               "default is SSLv3",
-+               "Maybe [SSLv3] SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n",
-+               "default is TLSv1",
-                meth);
-   ciphers = luaL_optstring(L, 2, SSL_DEFAULT_CIPHER_LIST);
-   ctx = SSL_CTX_new(method);
-   if (!ctx)
-     luaL_error(L, "#1:%s not supported\n"
--               "Maybe SSLv3 SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n",
--               "default is SSLv3",
-+               "Maybe [SSLv3] SSLv23 TLSv1 TLSv1_1 TLSv1_2 DTLSv1 [SSLv2], option followed by _client or _server\n",
-+               "default is TLSv1",
-                meth);
-   openssl_newvalue(L, ctx);
-   SSL_CTX_set_cipher_list(ctx, ciphers);
diff --git a/lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch b/lang/lua-openssl/patches/0020-use-X509_REQ_to_X509-in-openssl-1.1.patch
new file mode 100644 (file)
index 0000000..930b37e
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/src/csr.c
++++ b/src/csr.c
+@@ -38,7 +38,7 @@ static LUA_FUNCTION(openssl_csr_read)
+   return openssl_pushresult(L, 0);
+ }
\r
+-\r
++#if OPENSSL_VERSION_NUMBER < 0x10100000L\r
+ static X509 *X509_REQ_to_X509_ex(X509_REQ *r, int days, EVP_PKEY *pkey, const EVP_MD* md)\r
+ {\r
+   X509 *ret = NULL;\r
+@@ -91,14 +91,19 @@ static X509 *X509_REQ_to_X509_ex(X509_RE
+   }\r
+   return (ret);\r
+ }\r
++#endif\r
+ static LUA_FUNCTION(openssl_csr_to_x509)
+ {
+   X509_REQ * csr  = CHECK_OBJECT(1, X509_REQ, "openssl.x509_req");
+   EVP_PKEY * pkey = CHECK_OBJECT(2, EVP_PKEY, "openssl.evp_pkey");
+   int days = luaL_optint(L, 3, 365);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   const EVP_MD* md = get_digest(L, 4, "sha256");
+   X509* cert = X509_REQ_to_X509_ex(csr, days, pkey, md);
++#else
++  X509* cert = X509_REQ_to_X509(csr, days, pkey);
++#endif
+   if (cert)
+   {
+     PUSH_OBJECT(cert, "openssl.x509");
diff --git a/lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch b/lang/lua-openssl/patches/0030-support-OPENSSL_NO_COMP.patch
deleted file mode 100644 (file)
index 44e5330..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- lua-openssl-0.6.0.old/src/ssl.c    2016-09-19 08:30:43.735075695 +0200
-+++ lua-openssl-0.6.0/src/ssl.c        2016-09-19 08:48:37.393737125 +0200
-@@ -1245,7 +1250,7 @@
-   lua_pushinteger(L, st);
-   return 2;
- }
--#ifndef LIBRESSL_VERSION_NUMBER
-+#if !defined(OPENSSL_NO_COMP) && !defined(LIBRESSL_VERSION_NUMBER)
- static int openssl_ssl_current_compression(lua_State *L)
- {
-   SSL* s = CHECK_OBJECT(1, SSL, "openssl.ssl");
-@@ -1803,7 +1808,7 @@
-   {"getfd",     openssl_ssl_getfd},
-
-   {"current_cipher",        openssl_ssl_current_cipher},
--#ifndef LIBRESSL_VERSION_NUMBER
-+#if !defined(OPENSSL_NO_COMP) && !defined(LIBRESSL_VERSION_NUMBER)
-   {"current_compression",   openssl_ssl_current_compression},
- #endif
-   {"getpeerverification",   openssl_ssl_getpeerverification},